$(document).ready(function() {
	var queryKey = getParameter("jquery.groovelist.js", "querykey");
	var pageNO = getParameter("jquery.groovelist.js", "pageNO");

	$(window).resize(function() {
				var maiheight = document.documentElement.clientHeight;
				// var w = $("#ptable").width() - 3;
				var gapTop = 30;
				var otherpm = 120; // GridHead，toolbar，footer,gridmargin
				var h = maiheight - otherpm;

				$("#flex1")[0].grid.fixHeight(h);
			});

	$.ajax({
		type : "POST",
		// contentType: "application/json",
		// //这段代码不要加，我时延的是否后台会接受不到数据
		url : context
				+ "/system/jquery.flexigrid.arg.do?method=modelcmp&querykey="
				+ queryKey,
		dataType : "json",
		data : {
			queryKey : queryKey
		}, // 以json格式传递(struts2后台还是以string类型接受),year和month直接作为参数传递。
		success : function(modelcmpData) {
			if (!modelcmpData.success) {
				alert(modelcmpData.errorMsg);
				return false;
			}

			var maiheight = document.documentElement.clientHeight;
			// var w = $("#ptable").width() - 3;
			var gapTop = 30;
			var otherpm = 120; // GridHead，toolbar，footer,gridmargin
			var h = maiheight - otherpm;

			$.each(modelcmpData.resultData.columnModel, function(i, n) {
						if (!n.hide && n.renderFunc != null) {
							modelcmpData.resultData.columnModel[i].process = function(
									vl, pid, rowIdx) {
								extendFlexiGridRender(
										$("#flex1")[0].p.srcData.rows[rowIdx],
										$("#flex1")[0].p.colModel[$(this)[0].axis
												.substr(3)], vl, n.renderFunc,
										$("#flex1")[0].p.srcData.page);
							};
						}
					})

			var grid = $("#flex1").flexigrid({
				width : "auto",
				height : h,
				url : context
						+ "/system/jquery.flexigrid.arg.do?method=list&querykey="
						+ queryKey,
				dataType : "json",
				colModel : modelcmpData.resultData.columnModel,
				buttons : [],
				striped : true,
				searchitems : modelcmpData.resultData.queryModel,
				errormsg : '发生异常',
				preprocess : function() {
				},
				sortname : modelcmpData.resultData.orderbyKey,
				sortorder : modelcmpData.resultData.orderby,
				usepager : true,
				title : modelcmpData.resultData.name,
				pagestat : '显示记录从{from}到{to}，总数 {total} 条',
				useRp : true,
				rp : 10,
				newp : pageNO,
				rpOptions : [10, 15, 20, 30, 40, 50], // 可选择设定的每页结果数
				nomsg : '没有数据信息',
				singleSelect : true,
				minColToggle : -1, // 允许显示的最小列数
				showTableToggleBtn : false,
				showToggleBtn : false,
				autoload : true, // 自动加载，即第一次发起ajax请求
				resizable : true, // table是否可伸缩
				procmsg : '加载中, 请稍等 ...',
				hideOnSubmit : true, // 是否在回调时显示遮盖
				blockOpacity : 0.5,// 透明度设置
				rowbinddata : true,
				showcheckbox : true
					// gridClass: "bbit-grid"//样式
			});
		}
	});
});

function arrayToObject(aoData) {
	var obj = {};

	if (aoData != null) {
		$(aoData).each(function(i, n) {
					obj[n.name] = n.value;
				})
	}

	return obj;
}

function strToJson(str) {
	return (new Function("return " + str))();
}

function parseJSON1(data) {
	if (typeof data !== "string" || !data) {
		return null;
	}
	data = jQuery.trim(data);
	if (/^[\],:{}\s]*$/.test(data.replace(
			/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, "@").replace(
			/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
			"]").replace(/(?:^|:|,)(?:\s*\[)+/g, ""))) {
		return window.JSON && window.JSON.parse
				? window.JSON.parse(data)
				: (new Function("return " + data))();
	} else {
		jQuery.error("Invalid JSON: " + data);
	}
}

function parseJSON(o) {
	var arr = [];
	var fmt = function(s) {
		if (typeof s == 'object' && s != null)
			return parseJSON(s);
		return /^(string|number)$/.test(typeof s) ? "'" + s + "'" : s;
	}
	for (var i in o)
		arr.push("'" + i + "':" + fmt(o[i]));
	return '{' + arr.join(',') + '}';
}

/**
 * default fnRender
 * 
 * @param {}
 *            rowData
 * @param {}
 *            col
 * @param {}
 *            vl
 * @param {}
 *            pid
 * @return {}
 */
function extendFlexiGridRender(rowData, col, vl, renderFunc, page) {
}

function defaultFnToolbar(value, pid) {
	alert(value + "<-------->" + pid);
}